package cn.bonoon.core.plugins;

import java.util.List;

import cn.bonoon.entities.PlaceEntity;
import cn.bonoon.entities.PlaceLevel;
import cn.bonoon.kernel.security.LogonUser;
import cn.bonoon.kernel.support.services.GenericService;

/**
 * 地区管理
 * 
 * @author lyq
 * 
 */
public interface PlaceService extends GenericService<PlaceEntity> {
	/**
	 * 国家
	 */
	int LEVEL_COUNTRY = 0;
	/**
	 * 省、直辖市
	 */
	int LEVEL_PROVINCE = 1;
	/**
	 * 市
	 */
	int LEVEL_CITY = 2;
	/**
	 * 区、县
	 */
	int LEVEL_COUNTY = 3;
	/**
	 * 镇
	 */
	int LEVEL_TOWN = 4;
	/**
	 * 村
	 */
	int LEVEL_VILLAGE = 5;
	
	/**
	 * 根据地区id获取下面的信息
	 * 
	 * @return
	 */
	List<PlaceEntity> children(long id);

	List<PlaceEntity> byLevel(int level);
	
	List<PlaceEntity> byLevel(PlaceLevel level);
	
	int placeLevel(Long id);
	
	/**
	 *  
	 * @param user
	 * @return 账号的地区级别
	 */
	PlaceLevel userLevel(LogonUser user);
}
